Git Submodules - Why And How To Use Them